const mongoose = require('mongoose');
require('dotenv').config();

const connectMongoDB = async () => {
  try {
    // 移除已弃用的选项
    const mongoURI = process.env.MONGODB_URI || 'mongodb://localhost:27017/biaowang';
    
    // 添加连接重试逻辑
    const options = {
      serverSelectionTimeoutMS: 5000, // 超时时间5秒
      retryWrites: true,
      retryReads: true
    };
    
    await mongoose.connect(mongoURI, options);
    console.log('MongoDB连接成功');
  } catch (error) {
    console.error('MongoDB连接失败:', error);
    
    // 提供更详细的错误信息和建议
    if (error.name === 'MongooseServerSelectionError') {
      console.error('无法连接到MongoDB服务器。请确保：');
      console.error('1. MongoDB服务已启动');
      console.error('2. MongoDB服务器地址和端口正确');
      console.error('3. 如果使用远程MongoDB，请检查网络连接和防火墙设置');
      console.error('4. 检查环境变量MONGODB_URI是否正确设置');
    }
    
    process.exit(1);
  }
};

module.exports = connectMongoDB;